The present disclosure relates to representing numeric values in general, and to Disjunctive Normal Form (DNF) representation of Constraint Satisfaction Problem (CSP) domains in particular.
There are various techniques for generating tests that may be used for testing a target computerized system, such as software, hardware, firmware or the like. Some of those techniques utilize CSP solvers as a basis for generating tests. CSP may be used for defining a test template configured to define a test which may falsify an aspect of a target computerized system being tested. The test template may define an at least one constraint defining relation between portions of the test, such as for example writing to a memory address and reading from the same memory address or writing to a first memory address and writing to a second memory address that is relatively close to the first memory address.
A CSP Solver may use big variable domains, such as for example, represented by 32 bits, 64 bits or the like. In some cases, a constraint on the domains is utilized to limit the set of values of the domain that is represented. The constraint may be a mathematical constraint, such as represented using an equation or formula, such as for example A=B+C or A>B. The constraint may be a constraint on a portion of the bits of a variable, such as for example the ten Least Significant Bits (LSB) of A are all zeros. The constraint may be a bitwise constraint, such as A is a shifting of B by 2 bits or A is a XOR between B and C.
Test generation may use big variable domains in CSPs. The big variable domains may represent big numbers, such as 32 bit, 64 bit, 128 bit or the like. Efficient representation of the values in the domain may be required to support efficient constraint propagation.